package cn.iocoder.yudao.module.system.wechat_card.dto.giftcard;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class ThemeListDTO implements Serializable {

    @Schema(description = "主题的封面图片，须先将图片上传至CDN 大小控制在1000px*600px", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "主题的封面图片不能为空")
    private String theme_pic_url;

    @Schema(description = "主题名称，如“圣诞”“感恩家人”", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "主题名称不能为空")
    private String title;

    @Schema(description = "主题title的颜色，直接传入色值", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "主题title的颜色不能为空")
    private String title_color;

    @Schema(description = "礼品卡列表，标识该主题可选择的面额", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "礼品卡列表不能为空")
    private List<ItemListDTO> item_list;

    @Schema(description = "封面列表", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "封面列表不能为空")
    private List<PicItemListDTO> pic_item_list;

    @Schema(description = "主题标号，对应category_list内的title字段， 若填写了category_list则每个主题必填该序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "主题标号不能为空")
    private Integer category_index;

    @Schema(description = "该主题购买页是否突出商品名显示", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Boolean show_sku_title_first;

    @Schema(description = "是否将当前主题设置为banner主题（主推荐）", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Boolean is_banner;

}
